type runtime.p
58 uses
runtime (current package)
mgc.go#L914: forEachP(waitReasonGCMarkTermination, func(pp *p) {
mgc.go#L1227: forEachP(waitReasonFlushProcCaches, func(pp *p) {
mgc.go#L1608: func gcMarkWorkAvailable(p *p) bool {
mgcpacer.go#L754: func (c *gcControllerState) findRunnableGCWorker(pp *p, now int64) (*g, int64) {
mgcpacer.go#L917: func (c *gcControllerState) addScannableStack(pp *p, amount int64) {
mwbbuf.go#L195: func wbBufFlush1(pp *p) {
proc.go#L1083: func (mp *m) snapshotAllp() []*p {
proc.go#L2114: func forEachP(reason waitReason, fn func(*p)) {
proc.go#L2148: func forEachPInternal(fn func(*p)) {
proc.go#L2284: func allocm(pp *p, fn func(), id int64) *m {
proc.go#L2862: func newm(fn func(), pp *p, id int64) {
proc.go#L3040: func startm(pp *p, spinning, lockheld bool) {
proc.go#L3136: func handoffp(pp *p) {
proc.go#L3231: var pp *p
proc.go#L3890: func checkRunqsNoP(allpSnapshot []*p, idlepMaskSnapshot pMask) *p {
proc.go#L3912: func checkTimersNoP(allpSnapshot []*p, timerpMaskSnapshot pMask, pollUntil int64) int64 {
proc.go#L3929: func checkIdleGCNoP() (*p, *g) {
proc.go#L4887: func exitsyscallfast(oldp *p) bool {
proc.go#L4981: var pp *p
proc.go#L5320: func gfput(pp *p, gp *g) {
proc.go#L5362: func gfget(pp *p) *g {
proc.go#L5424: func gfpurge(pp *p) {
proc.go#L5697: var pp *p
proc.go#L5750: func (pp *p) init(id int32) {
proc.go#L5790: func (pp *p) destroy() {
proc.go#L5866: func procresize(nprocs int32) *p {
proc.go#L5897: nallp := make([]*p, nprocs)
proc.go#L5924: pp = new(p)
proc.go#L5984: var runnablePs *p
proc.go#L6015: func acquirep(pp *p) {
proc.go#L6038: func wirep(pp *p) {
proc.go#L6066: func releasep() *p {
proc.go#L6076: func releasepNoTrace() *p {
proc.go#L6495: func preemptone(pp *p) bool {
proc.go#L6953: func pidleput(pp *p, now int64) int64 {
proc.go#L6982: func pidleget(now int64) (*p, int64) {
proc.go#L7010: func pidlegetSpinning(now int64) (*p, int64) {
proc.go#L7027: func runqempty(pp *p) bool {
proc.go#L7058: func runqput(pp *p, gp *g, next bool) {
proc.go#L7104: func runqputslow(pp *p, gp *g, h, t uint32) bool {
proc.go#L7145: func runqputbatch(pp *p, q *gQueue) {
proc.go#L7178: func runqget(pp *p) (gp *g, inheritTime bool) {
proc.go#L7203: func runqdrain(pp *p) (drainQ gQueue) {
proc.go#L7242: func runqgrab(pp *p, batch *[256]guintptr, batchHead uint32, stealRunNextG bool) uint32 {
proc.go#L7297: func runqsteal(pp, p2 *p, stealRunNextG bool) *g {
runtime2.go#L266: func (pp puintptr) ptr() *p { return (*p)(unsafe.Pointer(pp)) }
runtime2.go#L269: func (pp *puintptr) set(p *p) { *pp = puintptr(unsafe.Pointer(p)) }
runtime2.go#L568: allpSnapshot []*p // Snapshot of allp for use after dropping P in findRunnable, nil otherwise.
runtime2.go#L642: type p struct {
runtime2.go#L836: safePointFn func(*p)
runtime2.go#L1227: allp []*p
trace.go#L646: forEachP(waitReasonTraceProcStatus, func(pp *p) {
tracecpu.go#L213: func traceCPUSample(gp *g, mp *m, pp *p, stk []uintptr) {
traceruntime.go#L302: func (tl traceLocker) ProcStop(pp *p) {
traceruntime.go#L538: func (tl traceLocker) ProcSteal(pp *p, inSyscall bool) {
tracestatus.go#L50: func (w traceWriter) writeProcStatusForP(pp *p, inSTW bool) traceWriter {